﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entities;
using System.Windows.Forms;
using DevExpress.Web.ASPxEditors;
using DevExpress.Web.ASPxClasses.Internal;
using DevExpress.Web.ASPxEditors;

public partial class pUsuarioClienteCambioClave : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

        if (!Page.IsPostBack)
        {
            if (Session["Email"] != null)
                Master.UsuarioRegistrado(Session["Email"].ToString());
            lblError.Visible = false;
            lblActualizacionOK.Visible = false;
            if (Request["Email"] != null)
            {
                lblEmail.Text = Request["Email"];
                CargarDatosUsuario();    
            }
            
        }
    }

    private void CargarDatosUsuario()
    {
        try
        {
            var oUsuario = UsuarioCliente.BuscarUsuarioPorEmail(lblEmail.Text);
            txtNegocioEmail.Text = oUsuario.Email;
        }
        catch (Exception ex)
        {
            lblError.Visible = true;
            lblError.Text = "Error en método cargar datos usuario, Descripción de error: " + ex.Message;
        }
    }


    private void ModificarDatosUsuario(UsuarioCliente oUsuario)
    {
        try
        {
            oUsuario.Contraseña = txtContraseñaNueva.Text;
            UsuarioCliente.Modificar(oUsuario);
        }
        catch (Exception ex)
        {
            lblError.Visible = true;
            lblError.Text = "Error en método modificar datos usuario, Descripción de error: " + ex.Message;
        }
    }

    #region eventos

    protected void btnGuardar_Click(object sender, EventArgs e)
    {
        try
        {
            var oUsuario = UsuarioCliente.BuscarUnoPorEmail(lblEmail.Text);

            if (oUsuario.Contraseña != txtContraseña.Text)
            {
                lblError.Text = "La contraseña actual no es correcta";
                lblError.Visible = true;
                return;
            }

            if (txtContraseñaNueva.Text.Length < 6)
            {
                lblError.Text = "La contraseñas nueva debe tener al menos 6 dígitos";
                lblError.Visible = true;
                return;
            }

            if (txtContraseñaNueva.Text != txtContraseñaRepetida.Text)
            {
                lblError.Text = "Las contraseñas no coinciden";
                lblError.Visible = true;
                return;
            }

            if (txtContraseñaNueva.Text == oUsuario.Contraseña)
            {
                lblError.Text = "La contraseñas nueva es igual a la anterior";
                lblError.Visible = true;
                return;
            }

            ModificarDatosUsuario(oUsuario);
            lblError.Visible = false;
            lblActualizacionOK.Visible = true;

        }
        catch (Exception ex)
        {
            lblError.Visible = true;
            lblError.Text = "Error en método modificar contraseña, Descripción de error: " + ex.Message;

        }
    }

    protected void btnSiguiente_Click(object sender, EventArgs e)
    {
            Response.Redirect("pDefaultCliente.aspx");
    }
    #endregion


}